Many businesses today sell products or services through a number of different avenues. Traditional “brick-and-mortar” retail establishments remain popular, and catalog orders received by phone continue to provide significant sales revenue for many businesses. Online sales over the Internet represent a growing fraction of many businesses' revenue streams as increasing numbers of consumers gain access to the Internet and become comfortable purchasing products online. Additionally, some businesses may be subdivided into several divisions, each of which may sell inventory, and some larger businesses may own subsidiary businesses that may also offer multiple ways of purchasing goods or services. Methods of payment for goods or services at each of these different business channels or brands may also vary. For example, while consumers purchasing over the phone or online may typically pay with a credit card or a gift card, consumers at a retail location may additionally pay with cash, a check, reward points, or some combination of the above. Financing arrangements can also be used when selling merchandise.
Despite offering a number of different brands or channels for originating sales transactions, a business may desire a single processing system for managing the transactions. Within the processing system, however, many different subsystems may operate on the sales transactions. Additionally, some of the subsystems may operate on transactions initially, and may perform initial or intermediate processing on the transactions, while other subsystems may operate on the transactions after the initial processing, the intermediate processing, or both, has been performed. Some subsystems may operate on the transactions both before processing has been performed and after processing has been performed. In this case, the subsystems must determine how the transaction has changed as a result of the earlier processing.
The processing system may grow larger over time as additional capability is added to the system, or as the business acquires other businesses and incorporates their systems into its processing system. As this occurs, complexity may be introduced as more and more subsystems are forced to interface with one another. Differences in preferred formats can cause incompatibilities. Individual subsystems may also have difficulty reconciling the various transactions and the various states of processing for the transactions across the multiple subsystems as system complexity increases, which may compromise data integrity.